Detecting network devices without joining a network

ABSTRACT

A tool listening device comprising a transceiver is configured to listen on a radio channel selected from a discovery channel hopping sequence. The tool listening device is configured to identify a preamble, indicating a start of a packet. The tool listening device continues to listen until a packet header is received. The tool listener extracts, from the packet header, a source address, a destination address and a frame type. The tool listening device adds the source address, the destination address, and the frame type to a data structure, and transmits the data structure to an external device, where the data may be visualized. The tool listening device is further configured select another radio channel from the discovery channel hopping sequence.

TECHNICAL FIELD

Aspects described herein relate generally to radio frequency networkdiagnostic tools and more specifically to identifying network devicesthat are configurable to operate on wireless mesh networks.

BACKGROUND

Resource distribution networks such as power, gas, or water distributionnetworks can use smart meters to collect and aggregate resourceconsumption data. Smart meters can help automate billing, reduce cost,and provide advanced analytics tools to utility companies. Smart meterscan be configured to operate on a mesh network. A mesh network can be ashort-range wireless network with or without a central node.

Before a smart meter is added to an existing network, the smart meter isconfigured for proper operation, for example, by configuring a set ofnetwork parameters. When configured and placed in the field, the smartmeter can then automatically establish a connection with a mesh network.

Various diagnostic tools can be used to identify faults with smartmeters. Defective smart meters are brought back from the field to ameter repair facility where a technician performs a diagnosis, repair,or reconfiguration. A technician may use a diagnostic tool to determinewhether a smart meter is configured for a particular network, isattempting to connect to a network, or is non-operational. Further, atechnician may use a diagnostic tool to configure a smart meter tocommunicate with a test network to enable further analysis or networkreconfiguration.

But existing diagnostic tools suffer from deficiencies. Specifically,existing diagnostic tools are either limited to detecting one device ata time, requiring an identifier such as network or device address inorder to search for a meter, or unnecessarily storing entire packets,thereby overloading a visual interface of the diagnostic tool withunnecessary information.

Hence, new solutions are needed.

SUMMARY

Certain aspects and features include a system and method for detecting aradio frequency device. In an example, a tool listening devicecomprising a transceiver is configured to listen on a radio channelselected from a discovery channel hopping sequence. The discoverychannel hopping sequence uses a different sequence from a channelhopping sequence used by the radio frequency device and includes radiochannels used by the channel hopping sequence of the radio frequencydevice. The tool listening device identifies a preamble of a packet. Thepacket includes a header. The tool listening device continues to listenuntil the header is received. The tool listening device extracts asource address, a destination address, and a frame type from the headerand adds the source address, the destination address, and the frame typeto a data structure. The tool listening device transmits the datastructure to an external device, which can cause the external device tovisualize the data structure. The tool listening device, responsive toeither receiving a packet or determining that a predetermined amount oftime has lapsed, is configured to select a next radio channel from thediscovery channel hopping sequence and listen on that channel.

These illustrative examples are mentioned not to limit or define thedisclosure, but to provide examples to aid understanding thereof.Additional examples and further description are provided in the DetailedDescription.

BRIEF DESCRIPTION OF THE FIGURES

These and other features, aspects, and advantages of the presentdisclosure are better understood when the following Detailed Descriptionis read with reference to the accompanying drawings, where:

FIG. 1 illustrates an example of a tool listener environment, accordingto an aspect.

FIG. 2 illustrates an implementation of a tool listener system,according to an aspect.

FIG. 3 is a flowchart illustrating a process used by a tool listeningdevice to detect a presence of another device, according to an aspect.

FIG. 4 is a table illustrating data relating to radio devices detectedby a tool listening device, according to an aspect.

FIG. 5 illustrates a computing device used to implement certainfunctions of a tool listener, according to an aspect.

DETAILED DESCRIPTION

Aspects of the present invention relate to using a tool listening deviceto detect wireless devices such as smart meters. The tool listeningdevice, or tool listener, is configured to listen for devices operatingor attempting to operate on a wireless network such as a mesh network.The tool listener does not need to join a mesh network in order todetect network communications and does not need to use parameters withidentical configuration as the network. For example, the tool listenermay use a discovery channel hopping sequence that is different from achannel hopping sequence of a mesh network and may listen for apredetermined amount of time that differs from a time slot of the meshnetwork.

Mesh networks, such as Institute of Electrical and Electronics Engineers(IEEE) 802.15.4 networks, are wireless personal area networks that aretypically short-range, low-bitrate, and self-identifying networks.Advanced Metering Infrastructure (AMI) or smart meters can use meshnetworks to communicate resource consumption or diagnostic information.Once connected to a network, devices on a mesh network operate withinspecified time slots and according to a particular channel-hoppingsequence.

A channel hopping sequence includes a list of valid channels, a channelspacing, a bit rate, and a modulation index. The channel hoppingsequence of a particular network can be a subset of the availablechannels of the region or country of operation. For example, if aregulatory body permits channels 1-10 for operation, a particularnetwork, and therefore radios configured to operate on that networkmight use a channel hopping sequence that includes channels 1, 5, and 8.Additionally, devices on a mesh network utilize various communicationsfeatures such as synchronization (or sync) words, beacon requests, anddifferent frame types such as data frames, beacon frames,acknowledgement frames, and Media Access Control (MAC) command frames.Mesh devices may or may not emit a signal when they power on or resetsuch as a birth chirp.

The tool listener can listen on a set of radio channels for networkactivity, detect network activity without storing entire packets, savedetected activity in a data structure, and provide the data to anexternal device such as a computer or tablet. The external device canvisualize the data. Examples of visualization include displaying thedata in a table, graph, chart, or as raw text. The tool listener candetect a presence of a specific device or can perform an inventory ofunknown devices. Unknown devices can include wireless devices that arejoined to a mesh network or are not joined to a mesh network, e.g., areattempting to communicate with a mesh network.

The following non-limiting examples are introduced for illustrativepurposes. In a first example, the tool listening device is deployed in ameter repair facility to diagnose a particular smart meter that isdefective or needs reconfiguration. The tool listener selects an initialchannel according to a discovery channel hopping sequence and listensfor communications for a predetermined amount of time. The predeterminedamount of time can differ from the length of a time slot on a meshnetwork. Upon receiving communications, the tool listener filters outcommunications from the particular smart meter (or attempts atcommunications from the smart meter), stores the communications in adata structure, and then optionally provides the data to an externaldevice. In an aspect, the tool listener can cause the particular deviceto join a temporary or diagnostic network in order to receivereprogramming commands.

In a second example, the tool listener is provided with a discoverychannel hopping configuration including channels of a channel hoppingsequence used by a particular network of meters. The tool listenerselects an initial channel from the channel hopping sequence on which tolisten and listens for a particular amount of time. If the tool listenerdetects activity on the channel, the tool listener attempts to receive apacket. A packet includes a preamble, a sync word, a header and apayload. The tool listener discards the payload of the packet andanalyzes the header.

The tool listener stores the contents of the header, specifically asource address, a destination address, and a frame type, and providesthis information to a tool listening application, which can visualizethe information. The tool listener then selects a different channel inthe discovery channel hopping sequence and continues to listen. Overtime, the tool listener gathers information on previously unknowndevices and networks and amasses an inventory of the number and type ofdevices within a certain range. Additionally, by querying an externaldatabase, the tool listener can determine whether any devices wereremoved or are no longer attempting to join a network.

Turning now to the figures, FIG. 1 illustrates an example of a toollistener environment, according to an aspect. Tool listener environment100 includes tool listener system 101 and unknown radio environment 120.Tool listener system 101 includes one or more of tool listener 102, toollistener computing device 110, tool listener application 112, and datalink 105. Unknown radio environment 120 includes one or more unknownradios 130 a-n. Unknown radios 130 a-n can be within smart meters orother grid devices.

By listening for traffic on different channels, tool listener 102 candetermine whether any of unknown radios 130 a-n are present in awireless environment. Tool listener 102 can operate on wireless networkssuch as mesh networks, IEEE 802.15.4 networks, WiFi networks, Bluetoothnetworks, or other wireless networks.

In an example, tool listener 102 listens on a particular channel for apredetermined amount of time to detect the presence of any unknownradios 130 a-n. Unknown radios 130 a-n can operate within a channelhopping sequence that can be specific to a particular network. Toollistener 102 can operate in conjunction with tool listener computingdevice 110 and tool listener application 112 to detect the presence ofone or more unknown radios 130 a-n. For example, tool listener 102 cantransmit data obtained by listening such as packets, headers, sourceaddresses or destination addresses, or frame types across data link 105to tool listener computing device 110 for further analysis andvisualization.

Data link 105 can be a Universal Serial Bus (USB) connection, aBluetooth connection, an Ethernet connection, a wireless connection,serial or parallel connection, or any suitable data link. Tool listenercomputing device 110 can be a laptop, desktop, tablet computer, mobilephone, or any other computing device. Tool listener application 112executes on tool listener computing device 110 and which can performsome or all of the functionality described herein.

FIG. 2 illustrates an implementation of a tool listener system,according to an aspect. FIG. 2 depicts tool listener system 200, whichincludes tool listener 201 and tool listener computing device 110. Toollistener 201 is an example of an implementation of tool listener 102.Tool listener 201 includes one or more of radio 220, processor 230,antenna 240, and data transceiver 250.

Radio 220 is a radio receiver or transmitter/receiver combinationconfigured to operate according to a particular protocol such as IEEE802.15.4. Radio 220 is connected to antenna 240. Antenna 240 can be anykind of antenna. Examples of suitable antennas include directionalantennas or omnidirectional antennas. A directional antenna allows toollistener 201 to gather stronger signals from a particular area wheresmart meters are expected to be located. An omnidirectional antenna canbe useful if a general location of unknown devices is not known. Radio220 can receive commands from processor 230 such as when to listen, moveto a different channel, power on, or power off, and can send receivedpacket data back to processor 230.

Processor 230 can be any suitable microcontroller, microprocessor,signal processor, or embedded processor such as an Intel®-basedprocessor, ARM®-based processor, etc. Processor 230 can execute firmwareor software that performs the functions described herein such asprocessing packets and issuing commands to radio 220. Data transceiver250 is a communications device that can send data and commands over datalink 105 to tool listener computing device 110 and receive data andcommands from tool listener computing device 110 over data link 105.

Processor 230 performs various functionality related to diagnostics ofwireless networks. For example, processor 230 can access a particulardiscovery channel hopping sequence, configure radio 220 to operate at aparticular channel for a particular amount of time, receive data fromradio 220 or send data from radio 220.

FIG. 3 is a flowchart illustrating a process used by a tool listeningdevice to detect a presence of another device, according to an aspect.Process 300 can be implemented by tool listener 102, tool listener 201,or by another device. Process 300 can be used to detect the presence ofone or more unknown radio devices such as smart meters.

At block 301, process 300 involves listening on a radio channel selectedfrom a discovery channel hopping sequence. Smart meters on a meshnetwork synchronize to an agreed-upon time slot and operate according toa channel hopping sequence. A channel hopping sequence as used by a meshnetwork device includes a list of valid channels, a channel spacing, abit rate, and a modulation index. In contrast, the discovery channelsequence used by tool listener 102 can be a different sequence from asequence used by a channel hopping sequence used by the radio frequencydevice and can include radio channels used by the channel hoppingsequence of the radio frequency device.

Further, tool listener 102 operates asynchronously from broadcasts fromunknown radios 130 a-n and any other mesh networks. Tool listener 102need not synchronize with or join a mesh network. Rather, tool listener102 remains on a channel for a predetermined amount of time unless apacket is detected. The predetermined amount of time need not equal theamount of time of a network time slot, and can be adjusted byconfiguring the tool listener.

In an example, processor 230 accesses a particular discovery channelhopping sequence. Processor 230 causes radio 220 to operate at a firstchannel in the sequence. In turn, radio 220 operates at the firstchannel and listens for radio transmissions via antenna 240. If apreamble is not detected during the predetermined duration, processor230 control is passed to block 306. Alternatively, if a preamble isdetected, control is passed to block 302.

At block 302, process 300 involves continuing to listen until the headeris received. A packet can include a preamble, a sync word, a packetheader, and a payload. Tool listener 102 listens for a preamble, a syncword, and the header of a packet from one of unknown radios 130 a-n onthe selected channel. A header is received by radio 220 and sent toprocessor 230.

Processor 230 can discard the payload information, which is typicallynot needed, to save memory space. Even though tool listener 102 may notbe configured to analyze the payload of the packet, tool listener 102can receive and inspect the entire packet in order to check for errors.Processor 230 can cause radio 220 to continue to listen until the packetis received and can be checked for errors, even if the predeterminedduration has lapsed.

At block 303, process 300 involves extracting a source address, adestination address, and a frame type from the header. Morespecifically, processor 230 extracts the packet header and extracts asource address, destination address, and frame type. If the IEEE802.15.4 Personal Area Network (PAN) ID is present, the Network ID canalso be captured. If the IEEE 802.15.4 Header Information Elements (IEs)contain the Network ID, the Network ID can also be captured. A networkID is used to distinguish between networks operated by differentutilities e.g. when utility networks are adjacent.

At block 304, process 300 involves adding the source address, thedestination address, the frame type and optional PAN ID and Network IDto a data structure. Tool listener 102 adds the captured information toa data structure.

In an aspect, processor 230 can aggregate identifiers or flags in thedata structure indicating whether the frame type is an acknowledgement,data, beacon, or MAC command, etc. over time for a specific unknownradio 130 a-n. The data structure can be stored locally, i.e., in memoryconnected to processor 230, or stored on tool listening computing device110.

Processor 230 can use error detection to check for errors in thereceived packet. If errors are detected that cannot be recovered, thenprocessor 230 can discard the erroneous packet or cause data transceiver250 to send a message to the tool listener computing device 110 with anyremaining useful information.

In an aspect, the tool listener receives a particular network address(e.g., a LAN identifier) or a particular Media Access Control (MAC)address of a meter and filter out or ignore other communications. Forexample, in the case of a specified network address, processor 230checks the source address in the packet header against a network addresscorresponding to the specific device. If the network address does notmatch, then the entire packet is discarded. In this manner, the toollistener can focus on particular networks or devices of interest such ascommunications from a particular defective meter in a repair shop andignore other meters that may be in the repair shop.

In another aspect, tool listener 102 can acquire a location signal froma Global Positioning Systems (GPS) or other location device. Toollistener 102 can access a database of smart devices expected at thelocation and verify network addresses detected against expected devicesfrom the database to determine a presence of new or erroneous devices.

At block 305, process 300 involves transmitting the data structure to anexternal device causing the external device to visualize the datastructure. Processor 230 sends the data structure to data transceiver250 and causes data transceiver 250 to send the information across datalink 105 to tool listener computing device 110. Tool listener 102 canmaintain the data structure locally and periodically transmit the datastructure to the tool listener computing device 110, which can performfurther visualization and analysis. Optionally, tool listener computingdevice 110 periodically queries the radio for this information table andupdates the visualization accordingly. In an aspect, tool listenercomputing device 110 can aggregate, display, or visualize data thatindicates whether the frame type is an acknowledgement, data, beacon, orMAC command, etc. over time for a specific unknown radio 130 a-n.

Tool listener computing device 110 can display the data in real-time.Over time, tool listener 102 can capture multiple packets received froma particular unknown radio 130 a-n. In this manner, tool listener 102adds new data and frame types to the table over time to build anaggregate image of the traffic from neighboring radios. In order tovisualize a large number of data packets, data can be indexed by MACaddress and/or network ID. An example table showing an example of datapresented by tool listening computing device 110 is shown in FIG. 4.

At block 306, process 300 involves selecting a next radio channel fromthe discovery channel hopping sequence. Process 300 continues at block301, using the next channel. If no network activity is detected duringthe predetermined amount of time, then processor 230 cycles through thediscovery channel hopping sequence, remaining on each channel for thepredetermined amount of time. Processor 230 need not cycle through thechannels of the discovery channel hopping sequence in the same orderdefined by the channel hopping sequence; different orders of channelsare possible.

FIG. 4 is a table illustrating data relating to radio devices detectedby a tool listening device, according to an aspect. FIG. 4 depicts table400. Table 400 can be populated by tool listener system 101, toollistener system 200, or by another suitable system or device executingprocess 300 or a similar process.

Table 400 includes entries 401 a-n. Each entry can correspond to adetected packet from a wireless network. For example, each entry 401 a-nincludes a LAN address (address of a particular device), PAN ID (ornetwork address), ACK (acknowledgement), MAC Command, DATA, and BEACON.

The ACK field refers to whether the packet is an acknowledgement packet.The DATA field refers to whether the packet includes a data field. ABEACON field in a packet indicates that the packet includes a beaconrequest. A MAC COMMAND beacon request packet may indicate that aparticular radio has not been successful in establishing a connectionwith a network and is attempting to communicate. Other fields arepossible. A technician may use information gathered from the toollistener to determine that the radio is not properly configured or isdefective.

As depicted, entry 401 a includes LAN address ab:cd:ef:01:02:03, PAN ID10:01, ACK 0, DATA 1, BEACON 0, MAC COMMAND 1. Entry 401 b includes LANaddress ab:cd:ef:10:20:30, PAN ID 10:01, ACK 0, DATA 0, BEACON 1 and MACCOMMAND 0. Entry 401 c includes LAN address ac:99:88:77:11:22, PAN ID20:21, ACK 1, DATA 0, BEACON 0 and MAC COMMAND 1. Entry 401 d includesLAN address ac:99:88:66:22:33, PAN ID 20:11, ACK 0, DATA 0, BEACON 0 andMAC COMMAND 1.

As can be seen, entries 401 a and 401 b have the same PAN ID and arelikely communicating on the same network. In an aspect, entriesoriginating from or destined for the same address can be aggregated toenable easier viewing.

Exemplary Computing Environment

FIG. 5 illustrates computing environment 500 used to implement certainfunctions of a tool listener, according to an aspect. Any suitablecomputing system or device may be used for performing the operationsdescribed herein such as implementing the functions of tool listener102, tool listener external computing device 110, or process 300. Thedepicted computing device 501 includes a processor 502 communicativelycoupled to one or more memory devices 504. The processor 502 executescomputer-executable program code 530 stored in a memory device 504,accesses data 520 stored in the memory device 504, or both. Examples ofthe processor 502 include a microprocessor, an application-specificintegrated circuit (“ASIC”), a field-programmable gate array (“FPGA”),or any other suitable processing device. The processor 502 can includeany number of processing devices or cores, including a single processingdevice. The functionality of the computing device may be implemented inhardware, software, firmware, or a combination thereof.

The memory device 504 includes any suitable non-transitorycomputer-readable medium for storing data, program code, or both. Acomputer-readable medium can include any electronic, optical, magnetic,or other storage device capable of providing a processor withcomputer-readable instructions or other program code. Non-limitingexamples of a computer-readable medium include a flash memory, a ROM, aRAM, an ASIC, or any other medium from which a processing device canread instructions. The instructions may include processor-specificinstructions generated by a compiler or an interpreter from code writtenin any suitable computer-programming language, including, for example,C, C++, C#, Visual Basic, Java, or scripting language.

The computing device 501 may also include a number of external orinternal devices, such as input or output devices. For example, thecomputing device 501 is shown with one or more input/output (“I/O”)interfaces 508. An I/O interface 508 can receive input from inputdevices or provide output to output devices. One or more busses 506 arealso included in the computing device 501. The bus 506 communicativelycouples one or more components of a respective one of the computingdevice 501.

The computing device 501 executes program code 530 that configures theprocessor 502 to perform one or more of the operations described herein.For example, the program code 530 causes the processor to perform theoperations described in FIGS. 3.

The computing device 501 also includes a network interface device 510.The network interface device 510 includes any device or group of devicessuitable for establishing a wired or wireless data connection to one ormore data networks. The network interface device 510 may be a wirelessdevice and have an antenna 514. The computing device 501 can communicatewith one or more other computing devices implementing the computingdevice or other functionality via a data network using the networkinterface device 510.

The computing device 501 can also include a display device 512. Displaydevice 512 can be a LCD, LED, touch-screen or other device operable todisplay information about the computing device 501. For example,information could include an operational status of the computing device,network status, etc.

While the present subject matter has been described in detail withrespect to specific aspects thereof, it will be appreciated that thoseskilled in the art, upon attaining an understanding of the foregoing,may readily produce alterations to, variations of, and equivalents tosuch aspects. Accordingly, it should be understood that the presentdisclosure has been presented for purposes of example rather thanlimitation and does not preclude inclusion of such modifications,variations, and/or additions to the present subject matter as would bereadily apparent to one of ordinary skill in the art.

What is claimed is:
 1. A device for detecting communication from aradio, the device comprising a transceiver configured to: listen on aradio channel selected from a discovery channel hopping sequence,wherein the discovery channel hopping sequence (i) uses a differentsequence from a sequence used by a channel hopping sequence used by theradio and (ii) comprises a plurality of radio channels used by thechannel hopping sequence of the radio; responsive to identifying apreamble of a packet, the packet comprising a header: continue to listenuntil the header is received, extract, from the header, a sourceaddress, a destination address and a frame type, add the source address,the destination address, and the frame type to a data structure, andtransmit the data structure to an external device, wherein transmittingthe data structure causes the external device to visualize the datastructure; and responsive to either (i) receiving a packet or (ii)determining that a predetermined amount of time has lapsed, select anext radio channel from the discovery channel hopping sequence.
 2. Thedevice of claim 1, wherein the predetermined amount of time differs froma slot time used by the radio.
 3. The device of claim 1, wherein thetransceiver is further configured to identify a particular radio byidentifying a device identifier corresponding to the particular radiofrom the preamble.
 4. The device of claim 1, wherein the external deviceidentifies, from the data structure, a first packet and a second packet,wherein the first packet and the second packet originate from aparticular radio, and displays information from the first packet and thesecond packet together in a visualization.
 5. The device of claim 1,wherein the packet further comprises a cyclic redundancy check, andwherein the device is further configured to determine, based on thecyclic redundancy check, that the packet is valid.
 6. The device ofclaim 1, wherein the packet comprises a payload and wherein the deviceis further configured to discard the payload of the packet.
 7. Thedevice of claim 1, wherein the packet is (i) an acknowledgement packet,(ii) a beacon packet, (iii) a beacon request packet, or (iv) a datapacket.
 8. The device of claim 1, wherein the discovery channel hoppingsequence comprises all of the plurality of radio channels used by thechannel hopping sequence of the radio.
 9. The device of claim 1, whereinthe packet further comprises (i) a PAN ID or (ii) a network ID, andwherein the device is further configured to extract the (i) PAN ID or(ii) network ID and provide the (i) PAN ID or (ii) network ID to theexternal device.
 10. A system for detecting radio frequencycommunication from a radio, the system comprising: a transceiverconfigured to: listen on a radio channel selected from a discoverychannel hopping sequence, wherein the discovery channel hopping sequence(i) uses a different sequence from a sequence used by a channel hoppingsequence used by the radio and (ii) comprises a plurality of radiochannels used by the channel hopping sequence of the radio; responsiveto identifying a preamble of a packet, the packet comprising a header:continue to listen until the header is received, extract, from theheader, a source address, a destination address and a frame type, addthe source address, the destination address, and the frame type to adata structure, and transmit the data structure to an external device;and responsive to either (i) receiving a packet or (ii) determining thata predetermined amount of time has lapsed, select a next radio channelfrom the discovery channel hopping sequence, wherein the external deviceis configured to: receive, from the transceiver, the data structure;extract, from the data structure, a packet comprising a source address,a network address, and a frame type, wherein the frame type comprisesacknowledgement, data, or beacon; and visualize the source address,network address, and frame type on a display device.
 11. The system ofclaim 10, wherein the transceiver is further configured to identify aparticular radio by identifying a device identifier corresponding to theparticular radio from the preamble.
 12. The system of claim 10, whereinthe external device identifies, from the data structure, a first packetand a second packet, wherein the first packet and the second packetoriginate from a particular radio, and displays information from thefirst packet and the second packet together in a visualization.
 13. Thesystem of claim 10, wherein the packet further comprises a cyclicredundancy check, and wherein the transceiver is further configured todetermine, based on the cyclic redundancy check, that the packet isvalid.
 14. The system of claim 10, wherein packet comprises a payloadand wherein the transceiver is further configured to discard the payloadof the packet.
 15. The system of claim 10, wherein the discovery channelhopping sequence comprises all of the plurality of radio channels usedby the channel hopping sequence of the radio.
 16. A computer-readablestorage medium storing non-transitory computer-executable programinstructions, wherein when executed by a processing device, the programinstructions cause the processing device to perform operationscomprising: listening on a radio channel selected from a discoverychannel hopping sequence, wherein the discovery channel hopping sequence(i) uses a different sequence from a sequence used by a channel hoppingsequence used by a radio and (ii) comprises a plurality of radiochannels used by the channel hopping sequence of the radio; responsiveto identifying a preamble of a packet, the packet comprising a header:continuing to listen until the header is received, extracting, from theheader, a source address, a destination address and a frame type, addingthe source address, the destination address, and the frame type to adata structure, and transmitting the data structure to an externaldevice, wherein transmitting the data structure causes the externaldevice to visualize the data structure; and responsive to either (i)receiving a packet or (ii) determining that a predetermined amount oftime has lapsed, selecting a next radio channel from the discoverychannel hopping sequence.
 17. The computer-readable storage medium ofclaim 16, the operations further comprising identifying a particularradio by identifying a device identifier corresponding to the particularradio from the preamble.
 18. The computer-readable storage medium ofclaim 16, wherein transmitting the data structure to an external devicecauses the external device to identify, from the data structure, a firstpacket and a second packet, wherein the first packet and the secondpacket originate from a particular radio, and displays information fromthe first packet and the second packet together in a visualization. 19.The computer-readable storage medium of claim 16, wherein the packetcomprises a payload and wherein the operations further comprisediscarding the payload of the packet.
 20. The computer-readable storagemedium of claim 16, wherein the discovery channel hopping sequencecomprises all of plurality of the radio channels used by the channelhopping sequence of the radio.